package com.xuecheng.api.content;

import com.xuecheng.api.content.model.dto.TeachplanDTO;
import com.xuecheng.api.content.model.dto.TeachplanMediaDTO;
import com.xuecheng.api.content.model.qo.QueryTeachplanMediaModel;
import com.xuecheng.api.content.model.vo.TeachplanVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;

import java.util.List;

/**
 * @author wuyunyun
 * @data 2021/10/9 21:42
 */

@Api(value = "课程计划",tags = "课程计划")
public interface TeachplanControllerApi {
    @ApiOperation("课程计划的树形列表")
    @ApiImplicitParam(name="courseBaseId",value = "课程信息id",required = true,dataType = "long",paramType = "path")
    TeachplanDTO queryTree(Long courseBaseId);

    @ApiOperation("创建或修改课程列表")
    @ApiImplicitParam(name = "vo" ,value = "teachplan请求实体" ,required = true,dataType = "TeachplanVO",paramType = "body")
    TeachplanDTO createOrModifyTeachPlan(TeachplanVO vo);

    @ApiOperation("删除课程计划")
    @ApiImplicitParam(name = "removeTeachPlan" ,value = "主键" ,required = true,dataType = "long",paramType = "path")
    boolean removeTeachPlan(Long teachPlanId);

    @ApiOperation("课程计划媒资绑定")
    @ApiImplicitParam(name = "qo",value = "请求参数",required = true,dataType = "QueryTeachplanMediaModel" ,paramType = "body")
    TeachplanMediaDTO associateMedia(QueryTeachplanMediaModel qo);
}
